Techniques for anonymizing neuromuscular signal data

ABSTRACT

Methods and apparatus for anonymizing neuromuscular signals used to generate a musculoskeletal representation. The method comprises recording, using a plurality of neuromuscular sensors arranged on one or more wearable devices, a plurality of neuromuscular signals from a user, providing as input to a trained statistical model, the plurality of neuromuscular signals and/or information based on the plurality of neuromuscular signals; and generating, the musculoskeletal representation based, at least in part, on an output of the trained statistical model, wherein the musculoskeletal representation is an anonymized musculoskeletal representation from which at least one personal characteristic of the user has been removed.

RELATED APPLICATIONS

This Application claims priority under 35 USC 119(e) of U.S. ProvisionalApplication Ser. No. 62/621,782, filed Jan. 25, 2018, entitled“TECHNIQUES FOR ANONYMIZING NEUROMUSCULAR SIGNAL DATA”, which isincorporated by reference in its entirety.

BACKGROUND

In some computer applications that generate representations of the humanbody, it is desirable for the application to know the spatialpositioning, orientation and movement of a user's body to provide arealistic representation of body movement. For example, in a virtualreality (VR) environment, tracking the spatial position of the user'shand enables the application to represent hand motion in the VRenvironment, which allows the user to interact with (e.g., by graspingor manipulating) virtual objects within the VR environment. Someexisting techniques for tracking movements of a user's body usingwearable sensors include using information obtained from multipleInertial Measurement Units (IMUs) affixed to different parts of theuser's body, and using external imaging devices (e.g., fixed-positioncameras) to reconstruct the position and orientation of parts of theuser's body.

SUMMARY

In some computer applications that generate musculoskeletalrepresentations of the human body, it is appreciated that it isdesirable for the application to provide a more realistic representationof body position, movement, and force. In an example in the VRenvironment, tracking the spatial position of the user's hand enablesvirtually rendering a hand, and rendering that realisticallyapproximates natural kinematics and gestures may enhance immersion forthe user in the virtual environment. Although some camera-based systemsattempt to track movement a user's body, it is appreciated that suchinterpretations may be improved by using wearable neuromuscular sensorsfor physiological measurements and modeling based on human anatomy.

Some embodiments are directed to predicting information about thepositioning, movements, and/or force of portions of a user's arm and/orhand represented as a multi-segment articulated rigid body system withjoints connecting the multiple segments of the rigid body system.Signals recorded by wearable neuromuscular sensors placed at locationson the user's body are provided as input to a statistical model trainedto predict estimates of the position (e.g., absolute position, relativeposition, orientation) and forces associated with a plurality of rigidsegments in a computer-based musculoskeletal representation associatedwith a part of the user' body (e.g., hand) when a user performs one ormore movements. The combination of position information and forceinformation associated with segments of a musculoskeletal representationassociated with a hand is colloquially referred to herein as a“handstate” of the musculoskeletal representation. As a user performsdifferent movements, a trained statistical model interpretsneuromuscular signals recorded by the wearable neuromuscular sensorsinto position and force estimates (handstate information) that are usedto update the musculoskeletal representation. As the neuromuscularsignals are continuously recorded, the musculoskeletal representation isupdated in real time (or near real time) and a visual representation ofa hand (e.g., within a virtual reality environment) is optionallyrendered based on the current handstate estimates.

Other embodiments are directed to a computerized system for anonymizingneuromuscular signals used to generate a musculoskeletal representation.The system comprises a plurality of neuromuscular sensors configured tocontinuously record a plurality neuromuscular signals from a user,wherein the plurality of neuromuscular sensors are arranged on one ormore wearable devices, and at least one computer processor. The at leastone computer processor is programmed to provide as input to a trainedstatistical model, the plurality of neuromuscular signals and/orinformation based on the plurality of neuromuscular signals, andgenerate, the musculoskeletal representation based, at least in part, onan output of the trained statistical model, wherein the musculoskeletalrepresentation is an anonymized musculoskeletal representation fromwhich at least one personal characteristic of the user has been removed.

In one aspect, the at least one computer is further programmed toprocess the plurality of neuromuscular signals and/or the informationbased on the plurality of neuromuscular signals to remove the at leastone personal characteristic of the user.

In another aspect, the at least one personal characteristic of the useris removed from the plurality of neuromuscular signals and/or theinformation based on the plurality of neuromuscular signals prior toproviding the plurality of neuromuscular signals and/or the informationbased on the plurality of neuromuscular signals as input to the trainedstatistical model.

In another aspect, the at least one personal characteristic of the userrelates to at least one of muscle fatigue, muscle activity level, musclefrequency content, and muscle spiking pattern.

In another aspect, the at least one personal characteristic of the userrelates to a body mass index or body fat percentage of the user.

In another aspect, the at least one computer processor is furtherprogrammed to store the plurality of neuromuscular signals and/or theinformation based on the plurality of neuromuscular signals in a storagedevice, and the at least one personal characteristic of the user isremoved from the plurality of neuromuscular signals and/or theinformation based on the plurality of neuromuscular signals prior tostorage of the plurality of neuromuscular signals and/or the informationbased on the plurality of neuromuscular signals in the storage device.

In another aspect, the at least one personal characteristic of the usercomprises at least one movement pattern associated with a neurologicaldisorder or a non-pathological idiosyncrasy.

In another aspect, the at least one computer processor is furtherprogrammed to process the plurality of neuromuscular signals and/or theinformation based on the plurality of neuromuscular signals to identifythe at least one movement pattern in the plurality of neuromuscularsignals and/or the information based on the plurality of neuromuscularsignals, and remove the identified at least one movement pattern fromthe plurality of neuromuscular signals and/or the information based onthe plurality of neuromuscular signals.

In another aspect, the at least one computer processor is furtherprogrammed to remove the at least one personal characteristic of theuser from the plurality of neuromuscular signals and/or informationbased on the neuromuscular signals during training of the trainedstatistical model.

In another aspect, the at least one computer processor is furtherprogrammed to process the output of the trained statistical model toremove the at least one personal characteristic of the user.

In another aspect, processing the output of the trained statisticalmodel comprises averaging the output of the trained statistical modelover time to generate a smoothed output of the trained statisticalmodel.

In another aspect, processing the output of the trained statisticalmodel comprises mapping the output of the trained statistical model toat least one state of a plurality of discrete states, wherein each stateof the plurality of discrete states represents a generic movementpattern.

In another aspect, the at least one computer processor is furtherprogrammed to render a visual representation based on themusculoskeletal representation, and the at least one personalcharacteristic of the user is removed during rendering of the visualrepresentation.

In another aspect, the at least one personal characteristic of the useris removed by altering a dimension of one or more fingers of the handduring rendering of the visual representation of the hand.

In another aspect, the at least one personal characteristic of the useris removed by mapping the visual representation to at least one state ofa plurality of discrete states, wherein each state of the plurality ofdiscrete states represents a generic visual representation.

In another aspect, the at least one personal characteristic of the usercomprises a first personal characteristic of the user that is re-appliedto the musculoskeletal representation.

In another aspect, the musculoskeletal representation is altered toreflect a personalization associated with a different user.

Other embodiments are directed to a method for anonymizing neuromuscularsignals used to generate a musculoskeletal representation. The methodcomprises recording, using a plurality of neuromuscular sensors arrangedon one or more wearable devices, a plurality of neuromuscular signalsfrom a user, providing as input to a trained statistical model, theplurality of neuromuscular signals and/or information based on theplurality of neuromuscular signals, and generating the musculoskeletalrepresentation based, at least in part, on an output of the trainedstatistical model, wherein the musculoskeletal representation is ananonymized musculoskeletal representation from which at least onepersonal characteristic of the user has been removed.

In one aspect, the plurality of neuromuscular signals and/or theinformation based on the plurality of neuromuscular signals is processedto remove the at least one personal characteristic of the user.

Other embodiments are directed to a computer-readable medium encodedwith a plurality of instructions that, when executed by at least onecomputer processor performs a method. The method comprises providing asinput to a trained statistical model, a plurality of neuromuscularsignals recorded from a user by a plurality of neuromuscular sensorsand/or information based on the plurality of neuromuscular signals, andgenerating the musculoskeletal representation based, at least in part,on an output of the trained statistical model, wherein themusculoskeletal representation is an anonymized musculoskeletalrepresentation from which at least one personal characteristic of theuser has been removed.

It should be appreciated that all combinations of the foregoing conceptsand additional concepts discussed in greater detail below (provided suchconcepts are not mutually inconsistent) are contemplated as being partof the inventive subject matter disclosed herein. In particular, allcombinations of claimed subject matter appearing at the end of thisdisclosure are contemplated as being part of the inventive subjectmatter disclosed herein.

BRIEF DESCRIPTION OF DRAWINGS

Various non-limiting embodiments of the technology will be describedwith reference to the following figures. It should be appreciated thatthe figures are not necessarily drawn to scale.

FIG. 1 is a schematic diagram of a computer-based system forreconstructing handstate information in accordance with some embodimentsof the technology described herein;

FIG. 2 is a flowchart of a process for generating a statistical modelfor predicting musculoskeletal position information using signalsrecorded from sensors, in accordance with some embodiments of thetechnology described herein;

FIG. 3A illustrates a wearable system with sixteen EMG sensors arrangedcircumferentially around an elastic band configured to be worn around auser's lower arm or wrist, in accordance with some embodiments of thetechnology described herein;

FIG. 3B is a cross-sectional view through one of the sixteen EMG sensorsillustrated in FIG. 3A; and

FIGS. 4A and 4B schematically illustrate components of a computer-basedsystem on which some embodiments are implemented. FIG. 4A illustrates awearable portion of the computer-based system and FIG. 4B illustrates adongle portion connected to a computer, wherein the dongle portion isconfigured to communicate with the wearable portion.

DETAILED DESCRIPTION

All or portions of the human musculoskeletal system can be modeled as amulti-segment articulated rigid body system, with joints forming theinterfaces between the different segments and joint angles defining thespatial relationships between connected segments in the model.Constraints on the movement at the joints are governed by the type ofjoint connecting the segments and the biological structures (e.g.,muscles, tendons, ligaments) that restrict the range of movement at thejoint. For example, the shoulder joint connecting the upper arm to thetorso and the hip joint connecting the upper leg to the torso are balland socket joints that permit extension and flexion movements as well asrotational movements. By contrast, the elbow joint connecting the upperarm and the forearm and the knee joint connecting the upper leg and thelower leg allow for a more limited range of motion. As described herein,a multi-segment articulated rigid body system is used to model portionsof the human musculoskeletal system. However, it should be appreciatedthat some segments of the human musculoskeletal system (e.g., theforearm), though approximated as a rigid body in the articulated rigidbody system, may include multiple rigid structures (e.g., the ulna andradius bones of the forearm) that provide for more complex movementwithin the segment that is not explicitly considered by the rigid bodymodel. Accordingly, a model of an articulated rigid body system for usewith some embodiments of the technology described herein may includesegments that represent a combination of body parts that are notstrictly rigid bodies.

In kinematics, rigid bodies are objects that exhibit various attributesof motion (e.g., position, orientation, angular velocity, acceleration).Knowing the motion attributes of one segment of the rigid body enablesthe motion attributes for other segments of the rigid body to bedetermined based on constraints in how the segments are connected. Forexample, the hand may be modeled as a multi-segment articulated bodywith the joints in the wrist and each finger forming the interfacesbetween the multiple segments in the model. In some embodiments,movements of the segments in the rigid body model can be simulated as anarticulated rigid body system in which position (e.g., actual position,relative position, or orientation) information of a segment relative toother segments in the model are predicted using a trained statisticalmodel, as described in more detail below.

The portion of the human body approximated by a musculoskeletalrepresentation as described herein as one non-limiting example, is ahand or a combination of a hand with one or more arm segments and theinformation used to describe a current state of the positionalrelationships between segments and force relationships for individualsegments or combinations of segments in the musculoskeletalrepresentation is referred to herein as the handstate of themusculoskeletal representation. It should be appreciated, however, thatthe techniques described herein are also applicable to musculoskeletalrepresentations of portions of the body other than the hand including,but not limited to, an arm, a leg, a foot, a torso, a neck, or anycombination of the foregoing.

In addition to spatial (e.g., position/orientation) information, someembodiments are configured to predict force information associated withone or more segments of the musculoskeletal representation. For example,linear forces or rotational (torque) forces exerted by one or moresegments may be estimated. Examples of linear forces include, but arenot limited to, the force of a finger or hand pressing on a solid objectsuch as a table, and a force exerted when two segments (e.g., twofingers) are pinched together. Examples of rotational forces include,but are not limited to, rotational forces created when segments in thewrist or fingers are twisted or flexed. In some embodiments, the forceinformation determined as a portion of a current handstate estimateincludes one or more of pinching force information, grasping forceinformation, or information about co-contraction forces between musclesrepresented by the musculoskeletal representation.

FIG. 1 illustrates a system 100 in accordance with some embodiments. Thesystem includes a plurality of sensors 102 configured to record signalsresulting from the movement of portions of a human body. Sensors 102 mayinclude autonomous sensors. As used herein, the term “autonomoussensors” refers to sensors configured to measure the movement of bodysegments without requiring the use of external devices. In someembodiments, sensors 102 may also include non-autonomous sensors incombination with autonomous sensors. As used herein, the term“non-autonomous sensors” refers to sensors configured to measure themovement of body segments using external devices. Examples of externaldevices used in non-autonomous sensors include, but are not limited to,wearable (e.g. body-mounted) cameras, global positioning systems, orlaser scanning systems.

Autonomous sensors may include a plurality of neuromuscular sensorsconfigured to record signals arising from neuromuscular activity inskeletal muscle of a human body. The term “neuromuscular activity” asused herein refers to neural activation of spinal motor neurons thatinnervate a muscle, muscle activation, muscle contraction, or anycombination of the neural activation, muscle activation, and musclecontraction. Neuromuscular sensors may include one or moreelectromyography (EMG) sensors, one or more mechanomyography (MMG)sensors, one or more sonomyography (SMG) sensors, a combination of twoor more types of EMG sensors, MMG sensors, and SMG sensors, and/or oneor more sensors of any suitable type that are configured to detectneuromuscular signals. In some embodiments, the plurality ofneuromuscular sensors may be used to sense muscular activity related toa movement of the part of the body controlled by muscles from which theneuromuscular sensors are arranged to sense the muscle activity. Spatialinformation (e.g., position and/or orientation information) and forceinformation describing the movement may be predicted based on the sensedneuromuscular signals as the user moves over time.

Autonomous sensors may include one or more Inertial Measurement Units(IMUs), which measure a combination of physical aspects of motion,using, for example, an accelerometer, a gyroscope, a magnetometer, orany combination of one or more accelerometers, gyroscopes andmagnetometers. In some embodiments, IMUs may be used to senseinformation about the movement of the part of the body on which the IMUis attached and information derived from the sensed data (e.g., positionand/or orientation information) may be tracked as the user moves overtime. For example, one or more IMUs may be used to track movements ofportions of a user's body proximal to the user's torso relative to thesensor (e.g., arms, legs) as the user moves over time.

In embodiments that include at least one IMU and a plurality ofneuromuscular sensors, the IMU(s) and neuromuscular sensors may bearranged to detect movement of different parts of the human body. Forexample, the IMU(s) may be arranged to detect movements of one or morebody segments proximal to the torso (e.g., an upper arm), whereas theneuromuscular sensors may be arranged to detect movements of one or morebody segments distal to the torso (e.g., a forearm or wrist). It shouldbe appreciated, however, that autonomous sensors may be arranged in anysuitable way, and embodiments of the technology described herein are notlimited based on the particular sensor arrangement. For example, in someembodiments, at least one IMU and a plurality of neuromuscular sensorsmay be co-located on a body segment to track movements of the bodysegment using different types of measurements. In one implementationdescribed in more detail below, an IMU sensor and a plurality of EMGsensors are arranged on a wearable device configured to be worn aroundthe lower arm or wrist of a user. In such an arrangement, the IMU sensormay be configured to track movement information (e.g., positioningand/or orientation over time) associated with one or more arm segments,to determine, for example whether the user has raised or lowered theirarm, whereas the EMG sensors may be configured to determine movementinformation associated with wrist or hand segments to determine, forexample, whether the user has an open or closed hand configuration.

Each of the autonomous sensors includes one or more sensing componentsconfigured to sense information about a user. In the case of IMUs, thesensing components may include one or more accelerometers, gyroscopes,magnetometers, or any combination thereof to measure characteristics ofbody motion, examples of which include, but are not limited to,acceleration, angular velocity, and sensed magnetic field around thebody. In the case of neuromuscular sensors, the sensing components mayinclude, but are not limited to, electrodes configured to detectelectric potentials on the surface of the body (e.g., for EMG sensors)vibration sensors configured to measure skin surface vibrations (e.g.,for MMG sensors), and acoustic sensing components configured to measureultrasound signals (e.g., for SMG sensors) arising from muscle activity.

In some embodiments, the output of one or more of the sensing componentsmay be processed using hardware signal processing circuitry (e.g., toperform amplification, filtering, and/or rectification). In otherembodiments, at least some signal processing of the output of thesensing components may be performed in software. Thus, signal processingof autonomous signals recorded by the autonomous sensors may beperformed in hardware, software, or by any suitable combination ofhardware and software, as aspects of the technology described herein arenot limited in this respect.

In some embodiments, the recorded sensor data may be processed tocompute additional derived measurements that are then provided as inputto a statistical model, as described in more detail below. For example,recorded signals from an IMU sensor may be processed to derive anorientation signal that specifies the orientation of a rigid bodysegment over time. Autonomous sensors may implement signal processingusing components integrated with the sensing components, or at least aportion of the signal processing may be performed by one or morecomponents in communication with, but not directly integrated with thesensing components of the autonomous sensors.

In some embodiments, at least some of the plurality of autonomoussensors are arranged as a portion of a wearable device configured to beworn on or around part of a user's body. For example, in onenon-limiting example, an IMU sensor and a plurality of neuromuscularsensors are arranged circumferentially around an adjustable and/orelastic band such as a wristband or armband configured to be worn arounda user's wrist or arm. Alternatively, at least some of the autonomoussensors may be arranged on a wearable patch configured to be affixed toa portion of the user's body. In some embodiments, multiple wearabledevices, each having one or more IMUs and/or neuromuscular sensorsincluded thereon may be used to predict musculoskeletal positioninformation for movements that involve multiple parts of the body.

In some embodiments, sensors 102 only includes a plurality ofneuromuscular sensors (e.g., EMG sensors). In other embodiments, sensors102 includes a plurality of neuromuscular sensors and at least one“auxiliary” sensor configured to continuously record a plurality ofauxiliary signals. Examples of auxiliary sensors include, but are notlimited to, other autonomous sensors such as IMU sensors, andnon-autonomous sensors such as an imaging device (e.g., a camera), aradiation-based sensor for use with a radiation-generation device (e.g.,a laser-scanning device), or other types of sensors such as a heart-ratemonitor.

System 100 also includes one or more computer processors (not shown inFIG. 1) programmed to communicate with sensors 102. For example, signalsrecorded by one or more of the sensors may be provided to theprocessor(s), which may be programmed to execute one or more machinelearning techniques that process signals output by the sensors 102 totrain one or more statistical models 104, and the trained (or retrained)statistical model(s) 104 may be stored for later use in generating amusculoskeletal representation 106, as described in more detail below.Non-limiting examples of statistical models that may be used inaccordance with some embodiments to predict handstate information basedon recorded signals from sensors 102 are discussed in detail below.

System 100 also optionally includes a display controller configured todisplay a visual representation 108 (e.g., of a hand). As discussed inmore detail below, one or more computer processors may implement one ormore trained statistical models configured to predict handstateinformation based, at least in part, on signals recorded by sensors 102.The predicted handstate information is used to update themusculoskeletal representation 106, which is then optionally used torender a visual representation 108 based on the updated musculoskeletalrepresentation incorporating the current handstate information.Real-time reconstruction of the current handstate and subsequentrendering of the visual representation reflecting the current handstateinformation in the musculoskeletal model may provide visual feedback tothe user about the effectiveness of the trained statistical model toaccurately represent an intended handstate. Not all embodiments ofsystem 100 include components configured to render a visualrepresentation. For example, in some embodiments, handstate estimatesoutput from the trained statistical model and a corresponding updatedmusculoskeletal representation are used to determine a state of a user'shand (e.g., in a virtual reality environment) even though a visualrepresentation based on the updated musculoskeletal representation isnot rendered (e.g., for interacting with virtual objects in a virtualenvironment in the absence of a virtually-rendered hand).

In some embodiments, a computer application configured to simulate avirtual reality environment may be instructed to display or render avisual representation of the user's hand within a user interface (e.g.,a graphical user interface). Positioning, movement, and/or forcesapplied by portions of the hand within the virtual reality environmentmay be displayed based on the output of the trained statisticalmodel(s). The visual representation may be dynamically updated based oncurrent reconstructed handstate information as continuous signals arerecorded by the sensors 102 and processed by the trained statisticalmodel(s) 104 to provide an updated computer-generated representation ofthe user's position, movement, and/or exerted force that is updated inreal-time.

As discussed above, some embodiments are directed to using a statisticalmodel for predicting musculoskeletal information based on signalsrecorded from wearable autonomous sensors. The statistical model may beused to predict the musculoskeletal position information without havingto place sensors on each segment of the rigid body that is to berepresented in the computer-generated musculoskeletal representation. Asdiscussed briefly above, the types of joints between segments in amulti-segment articulated rigid body model constrain movement of therigid body. Additionally, different individuals tend to move incharacteristic ways when performing a task that can be captured instatistical patterns of individual user behavior. At least some of theseconstraints on human body movement may be explicitly incorporated intostatistical models used for prediction in accordance with someembodiments. Additionally or alternatively, the constraints may belearned by the statistical model though training based on ground truthdata on the position and exerted forces of the hand and wrist in thecontext of recorded sensor data (e.g., EMG data). Constraints imposed inthe construction of the statistical model are those set by anatomy andthe physics of a user's body, while constraints derived from statisticalpatterns are those set by human behavior for one or more users fromwhich sensor measurements are measured and used to train the statisticalmodel. As described in detail below, the constraints may comprise partof the statistical model itself being represented by information (e.g.,connection weights between nodes) in the model.

As discussed above, some embodiments are directed to using a statisticalmodel for predicting handstate information to enable the generationand/or real-time update of a computer-based musculoskeletalrepresentation. The statistical model may be used to predict thehandstate information based on IMU signals, neuromuscular signals (e.g.,EMG, MMG, and SMG signals), external device signals (e.g., camera orlaser-scanning signals), or a combination of IMU signals, neuromuscularsignals, and external device signals detected as a user performs one ormore movements.

Biosensors and other systems that collect personally identifiableinformation often include systems to ensure the privacy of the user. Forexample, in a healthcare system, personally identifiable information maybe considered private health information and specific controls may beplaced to ensure that such personally identifiable information istransmitted and stored in a secure manner whether in paper or digitalform. For example, encryption techniques may be utilized for securetransmission and/or storage.

Signal data generated by biosensors may be used to identify a particularindividual based on characteristic biophysical signals, as well asdiagnose a medical condition. It can be challenging to process thesignal data containing personally identifiable information in a way suchthat features that can be used to identify a particular individual aremasked while features of the signal data or information derived from thesignal data that can be used to extract meaningful information (e.g.,for tracking a part of the user's body or for a clinical diagnosis) areretained. The inventors have recognized that anonymizing signal data andinformation derived from the signal data while retaining the ability touse that data to extract meaningful information would be beneficial, forexample, in situations where privacy is a concern.

The inventors have further recognized that some individuals usingsystems such as those described in connection with FIG. 1 may havepersonal characteristics that may be evident in recorded sensor signals.Such personal characteristics may include sensitive informationassociated with these individuals or may be embarrassing for or be usedto otherwise identify these individuals, for example, in a virtualreality environment. The personal characteristics may include short-termor instantaneous characteristics (such as muscle fatigue, muscle scale,or frequency content) and long-term characteristics (such as apersonally-identifiable pattern of neuromuscular data, tremors, or othermovement patterns). The inventors have appreciated that anonymizing thesensor data recorded from a user via neuromuscular sensors and/or othersensors by removing or masking these personal characteristics from therecorded sensor data would protect the privacy of a user. For example,protecting the privacy of the individual may comprise masking a clinicaldisorder or symptom. In another example, anonymizing sensor datarecorded from a user may enhance the individual's virtual realityexperience by protecting their identity and/or masking a personalcharacteristic as rendered in the virtual environment. For example, foran individual with a neurological disorder causing tremors in the hand,movement patterns associated with these tremors may be removed from thesensor data collected for the individual so that a virtual rendering ofthe individual's hand represents the individual's movements, gestures,or forces without features related to the tremors. Removal of thesemovement patterns from the recorded sensor data may result in renderinga visual representation of the individual's hand (e.g., within thevirtual reality environment) without any tremors.

As discussed above, signals recorded by one or more sensors 102 may beprovided as input to one or more trained statistical models 104 that areconfigured to predict handstate information based on the signals. Thepredicted handstate information is used to update the musculoskeletalrepresentation 106, which is then used to render a visual representation108 based on the updated musculoskeletal representation incorporatingthe current handstate information but not the one or more personalcharacteristics. In some embodiments, the removal or masking of thepersonal characteristics (i.e., anonymizing of sensor data) may beperformed at various stages of the signal processing pipeline of system100, for example, indicated as stages I, II, III, and IV in FIG. 1.

According to some embodiments, the one or more computer processors ofsystem 100 may be programmed to perform anonymization by processing rawsignals and/or preprocessed (e.g., amplified and/or filtered) signals(e.g., neuromuscular signals) recorded from the sensors 102 (indicatedas stage I in FIG. 1). The signals and/or information based on thesignals may be processed to remove or mask the personal characteristicsof a user. In these embodiments, the personal characteristics areremoved from the signals prior to providing these signals as input tothe trained statistical model(s) 104. In other words, the signals may beanonymized and the anonymized signals may be provided as input to thetrained statistical model(s) 104. As such, the musculoskeletalrepresentation 106 updated based on output model estimates is also ananonymized musculoskeletal representation from which the personalcharacteristics have been removed/masked.

In some embodiments, anonymizing raw neuromuscular signal data (orprocessed neuromuscular signal data via filtering, normalization, orother forms of signal processing) is implemented in a manner thatremoves a personal characteristic of the user while retaining featuresin the raw or processed neuromuscular data that can be used to derivemeaningful information when used as an input to a statistical model asdescribed herein. For example, neuromuscular signal data associated witha user with an essential tremor may be processed by applying a filterthat is tuned to a frequency range associated with the tremor (e.g.,4-12 Hz) such that any features representing neuromuscular dynamicsoutside this frequency range are retained.

Anonymizing raw or pre-processed neuromuscular data can be beneficialbecause any subsequent transmission of the anonymized data in thedownstream data pipeline maintains privacy with respect to the maskedpersonal characteristic.

In some embodiments, the personal characteristics may include short-termor instantaneous characteristics of a user, such as, muscle fatigue,muscle scale, muscle activity level, muscle frequency content, musclespiking patterns, and/or other characteristics. In some cases, theseshort-term or instantaneous characteristics may arise due to or inresponse to the user's use of the system. For example, a user playing agame (e.g., in a virtual reality environment) for an extended period oftime may experience muscle fatigue, which may be assessed from thesignals recorded by the sensors 102. However, the user may not wantother players to be aware of the fact that he/she has been playing thegame for an extended period of time and would, therefore, prefer the“muscle fatigue” characteristic to be removed from the recorded signals.

In other embodiments, the personal characteristics may include long-termcharacteristics of the user, such as tremors or other movement patternsassociated with neurological disorders or non-pathologicalidiosyncrasies, characteristics resulting from diseases or medications,or other characteristics of the user's motor system, such as motor unitaction potential waveforms. In yet other embodiments, the personalcharacteristics may include a body mass index and/or body fat percentageof the user, skin conductance of the user, muscle tone of the user,pulse rate of the user, blood pressure of the user, physicalcharacteristics, such as finger and limb lengths, and/or othercharacteristics.

In some embodiments, a virtual rendering of the user's handstate mayalter the user's true anatomy to mask his/her finger and limb lengths.In other embodiments, a virtual rendering may mask the body fatpercentage of the user, a parameter which may be estimated fromneuromuscular sensor data based on signal features related to filteringof electrical signals by the location and amount of adipose tissue.

In some implementations, the one or more computer processors may includeor communicate with one or more detector circuits that are programmed toanalyze or process the signals to identify or detect the personalcharacteristics in the signals. For example, a first detector circuitmay be provided to identify at least one movement pattern (associatedwith a tremor, for example) in the neuromuscular signals and/orinformation based on the neuromuscular signals. In some embodiments, apower spectrum calculated from the user's neuromuscular sensor data mayindicate the presence of a tremor. A second detector circuit may beprovided to detect muscle fatigue from the neuromuscular signals and/orinformation based on the neuromuscular signals. Similarly, otherdetector circuits may be provided for detecting other personalcharacteristics from neuromuscular signals or other signals.

In some embodiments, the one or more computer processors may beprogrammed to remove or mask the identified personal characteristicsfrom the neuromuscular signals or other signals. For example, a movementpattern (associated with the tremor) may be removed from theneuromuscular signals. In some implementations, removing the identifiedpersonal characteristics may include filtering the neuromuscular signalsand/or other signals. In other implementations, removing or masking theidentified personal characteristics may include replacing currentlyrecorded neuromuscular signals (that include or reflect the personalcharacteristic, such as muscle fatigue) with previously recordedneuromuscular signals (that do not include or reflect the personalcharacteristic) from the user, another individual, or derived fromsignals recorded from a plurality of individuals. For example, a fatiguestate for a user may be masked (i.e., anonymized) by replacing thecurrently recorded neuromuscular signals with previously recorded datafor a similar position, movement, or force exerted by at least onesegment of the musculoskeletal representation before the user becamefatigued. In yet other implementations, characteristics associated withmotor unit action potential waveforms may be hidden by processing theneuromuscular signals into a reduced form, for example, by convertingthe neuromuscular signal recordings to timings of motor unit actionpotentials or muscle activity levels. In some embodiments, jitter may beadded to the timings of motor unit action potentials or muscle activitylevels to mask subtle timing patterns that may be indicative of anindividual's personal characteristics.

According to some embodiments, system 100 also includes at least onestorage device that is configured to store the recorded sensor dataand/or the one or more statistical model(s). In one embodiment, thepersonal characteristics are removed from the recorded sensor data(i.e., neurological or other signals and/or information based on theneurological or other signals) prior to storage of sensor data in thestorage device, thereby enabling efficient usage of memory resources andenhancing privacy. In some embodiments, the recorded sensor data (whichis not anonymized) is only stored on a local buffer where the recordedsensor data is anonymized (i.e., personal characteristics areremoved/masked), and the anonymized sensor data is then provided asinput to the trained statistical model(s) 104.

According to some embodiments, the one or more computer processors ofsystem 100 may be programmed to perform anonymization while training theone or more statistical models 104 (indicated as stage II in FIG. 1). Inthese embodiments, the recorded sensor data provided as input to thestatistical models includes or otherwise reflects the personalcharacteristic. In some implementations, an adversarial trainingapproach may be utilized to train the statistical models to anonymizethe recorded sensor data while predicting handstate information. Thestatistical models may output anonymized handstate information that isthen used to update the musculoskeletal representation 106. As such, themusculoskeletal representation 106 is an anonymized musculoskeletalrepresentation from which the personal characteristics have beenremoved/masked because the musculoskeletal representation 106 isgenerated based on the anonymized handstate information.

In some implementations, the adversarial training approach foranonymizing recorded sensor data while predicting handstate informationincludes 1) identifying specific users, and 2) using the mapping fromneuromuscular activity to a specific user as input to the adversarialnetwork which concurrently anonymizes the recorded sensor data (e.g.,neuromuscular sensor data) and predicts handstate.

In some embodiments, a specific user may be identified based on recordedneuromuscular sensor data (e.g., EMG) by leveraging unique biophysicalcharacteristics of the user. For example, the electrical signature ofmotor unit action potentials (MUAPs) can be represented as a wavelet(spatiotemporal pattern recorded from one or more neuromuscular sensors)that is characteristic of an individual's particular anatomy (including,for example, the specific size, location, and innervation pattern ofmotor units; the size of their arm; and the location and amount ofadipose tissue). In other embodiments, a specific user may be identifiedby collecting neuromuscular sensor data from the specific user and aplurality of other users and training an adversarial network (or otherappropriate network) to derive characteristic features that uniquelyidentify neuromuscular data from the user. Subsequently, newneuromuscular data from the user or another individual may be providedto the trained statistical model, which provides a likelihood orconfidence level that the neuromuscular data is recorded from thespecific user.

An example of how the adversarial training approach may be implementedas follows. The recorded sensor data (including, for example,non-anonymized sensor data collected from multiple individuals togetherwith corresponding ground truth data representing expected model outputestimates) may be provided as input to a pre-trained statistical modelF. The pre-trained statistical model F receives as input (potentiallypreprocessed) neuromuscular signals x and generates a handstateprediction F(x). To remove personally identifying information from theneuromuscular signals x while preserving information about thehandstate, two models (e.g., neural networks) G and H may be trained.Model G produces modified versions of the signals G(x) based on theneuromuscular signals x. Model H, which is a classifier, makes aprediction H(G(x)) about which user the signals x are recorded frombased on the modified signals G(x). The parameters of model H may beoptimized to reduce the classification cross-entropy, while theparameters of model G may be optimized to increase the classificationcross-entropy while maintaining high accuracy of the handstatepredictions F(G(x)).

According to some embodiments, the one or more computer processors ofsystem 100 may be programmed to perform anonymization by processing anoutput of the trained statistical models 104 (indicated as stage III inFIG. 1). In these embodiments, the predicted handstate informationoutput by the trained statistical models includes or otherwise reflectsthe personal characteristics of the user. The output of the trainedstatistical models may be processed to remove these personalcharacteristics. As such, the musculoskeletal representation 106 is ananonymized musculoskeletal representation from which the personalcharacteristics have been removed/masked because the musculoskeletalrepresentation 106 is generated based on an output of the statisticalmodel that is processed to remove these personal characteristics.

In some implementations, the processing of the output of the trainedstatistical model may include averaging the output over time to generatea smoothed output of the trained statistical model. For example, thetemporal smoothing may be implemented using a temporal filter thatgenerates a smoothed output of the trained statistical model. In otherimplementations, the output of the trained statistical model may bemapped to at least one state of a number of discrete states, where eachstate may represent a generic movement pattern or gesture (that isgeneric across a population of users). For example, when the output ofthe trained statistical model (i.e., the predicted handstateinformation) is indicative of an “open palm” gesture with tremors, theoutput may be mapped to a generic “open palm” gesture (without thetremors), thereby removing the undesired personal characteristics. Insome embodiments, the discrete states may include discrete (e.g., stablegestures) or continuous states (e.g., particular motions).

As used herein, the term “gestures” refers to a static or dynamicconfiguration of one or more body parts including the position of theone or more body parts and forces associated with the configuration. Forexample, gestures include discrete gestures, such as pressing the palmof a hand down on a solid surface or grasping a ball, continuousgestures, such as a waving a finger back and forth or throwing a ball,or a combination of discrete and continuous gestures such as graspingand throwing a ball. Gestures may be defined by an applicationconfigured to prompt a user to perform the gestures or, alternatively,gestures may be arbitrarily defined by a user. In some cases, hand andarm gestures may be symbolic and used to communicate according tocultural standards.

According to some embodiments, the one or more computer processors ofsystem 100 may be programmed to perform anonymization during renderingof the visual representation of the hand (indicated as stage IV of FIG.1). In these embodiments, the output of the trained statistical models(e.g., the predicted handstate information) may include or otherwisereflect the personal characteristics of the user. However, thesepersonal characteristics are removed/masked during rendering of thevisual representation.

In some embodiments, the visual representation of the hand may bealtered to remove or mask one or more physical characteristics orattributes of the user. For example, a dimension of one or more fingersof the hand may be altered during rendering of the visual representationof the hand. In other embodiments, the personal characteristics may beremoved/masked by mapping the visual representation to at least onestate of a number of discrete states, where each state represents ageneric visual representation of the hand (that is generic across apopulation of users).

Implementations of anonymization during rendering enable selectivesharing of a personal characteristic according to the needs orpreferences of the user. For example, a patient with essential tremorwith limited mobility using a virtual reality environment fortelemedicine and e-commerce may elect to share a realistic(non-anonymized) rendering of their hand with a clinician treating theirtremor and elect to share an anonymized rendering of their hand thatmasks their tremor when meeting with a health insurance broker in avirtual environment. In another example, a user competing in a virtualreality multi-player contest may elect to share a non-anonymizedrendering of her hand that reflects a fatigue state with her teammatesand elect to share an anonymized rendering of her hand that masks thefatigue state with her opponents.

In some embodiments, various user interface controls may be provided viathe user interface that enable the user to selectively share, provide,or otherwise render anonymized or non-anonymized visual representationsof a part of the user's body (e.g., hand). For example, a toggle controlmay be provided that allows the user to select between whether the userdesires to share an anonymized rendering or not with another user, groupof users, or category of users (e.g., a physician).

In some embodiments, different types of personal characteristics for thesame user may be removed at different stages of the pipeline. Forexample, the user may have a curved finger and may suffer from tremorsin the hand. In this scenario, a first type of personal characteristic(e.g., tremors) may be removed at stage I and a second type of personalcharacteristic (e.g., curved finger) may be masked at stage IV. It willbe appreciated that the examples provided herein are non-limiting, andthe user's personal characteristics may be removed/masked at any one ora combination of stages.

According to some embodiments, system 100 may include a plurality ofprocessors configured to communicate via a network. In such embodiments,anonymization of sensor data may be performed prior to transmission ofthe data over the network. The inventors have appreciated that it may beadvantageous to anonymize sensor data prior to transmission of the dataover a network to minimize risks associated with the user's identifybeing exposed due, for example, to eavesdropping on the transmission. Inaddition, when data is transmitted from a first processor to a secondprocessor, it may be beneficial to perform anonymization on the sensordata prior to the transfer when the second processor employs lowersecurity measures than the first processor.

The inventors have recognized and appreciated that a user may want tohave a particular personalization for a particular task or have a desireto mimic personalization associated with a different user. In someimplementations, the one or more computer processors may be furtherprogrammed to re-personalize the musculoskeletal representation byre-applying a particular desired personal characteristic to amusculoskeletal representation that has been anonymized using one ormore of the techniques described herein. In other implementations, theone or more computer processors may be further programmed to alter themusculoskeletal representation to reflect a personalization associatedwith the different user (e.g., an expert user), for example, byclassifying a gesture and created a visual representation of an expertperformance of that gesture. As one non-limiting example, a gestureperformed by a user may be identified/classified as a “painting” gesture(e.g., based on one or more gesture models or context provided by anapplication (e.g., an application that provides a virtual realityenvironment). To take on the characteristics of an “expert” painter, thevisual representation of the gesture may be modified to map themovements performed by the user to movements associated with the expertpainter. Such a personalization transfer may be achieved by, forexample, altering the updated musculoskeletal representation of the userperforming “painting” gestures to reflect a musculoskeletalrepresentation of an expert painter performing painting gestures suchthat a visual representation of an expert performance of paintinggestures are generated, even when the user is not an expert painter.

FIG. 2 describes a process 200 for generating (sometimes termed“training” herein) a statistical model using signals recorded fromsensors 102. Process 200 may be executed by any suitable computingdevice(s), as aspects of the technology described herein are not limitedin this respect. For example, process 200 may be executed by one or morecomputer processors described with reference to FIGS. 1, 4A and 4B. Asanother example, one or more acts of process 200 may be executed usingone or more servers (e.g., servers included as a part of a cloudcomputing environment). For example, at least a portion of act 210relating to training of a statistical model (e.g., a neural network) maybe performed using a cloud computing environment.

Process 200 begins at act 202, where a plurality of sensor signals areobtained for one or multiple users performing one or more movements(e.g., typing on a keyboard). In some embodiments, the plurality ofsensor signals may be recorded as part of process 200. In otherembodiments, the plurality of sensor signals may have been recordedprior to the performance of process 200 and are accessed (rather thanrecorded) at act 202.

In some embodiments, the plurality of sensor signals may include sensorsignals recorded for a single user performing a single movement ormultiple movements. The user may be instructed to perform a sequence ofmovements for a particular task (e.g., opening a door) and sensorsignals corresponding to the user's movements may be recorded as theuser performs the task he/she was instructed to perform. The sensorsignals may be recorded by any suitable number of sensors located in anysuitable location(s) to detect the user's movements that are relevant tothe task performed. For example, after a user is instructed to perform atask with the fingers of his/her right hand, the sensor signals may berecorded by multiple neuromuscular sensors circumferentially (orotherwise) arranged around the user's lower right arm to detect muscleactivity in the lower right arm that give rise to the right handmovements and one or more IMU sensors arranged to predict the jointangle of the user's arm relative to the user's torso. As anotherexample, after a user is instructed to perform a task with his/her leg(e.g., to kick an object), sensor signals may be recorded by multipleneuromuscular sensors circumferentially (or otherwise) arranged aroundthe user's leg to detect muscle activity in the leg that give rise tothe movements of the foot and one or more IMU sensors arranged topredict the joint angle of the user's leg relative to the user's torso.

In some embodiments, the sensor signals obtained in act 202 correspondto signals from one type of sensor (e.g., one or more IMU sensors or oneor more neuromuscular sensors) and a statistical model may be trainedbased on the sensor signals recorded using the particular type ofsensor, resulting in a sensor-type specific trained statistical model.For example, the obtained sensor signals may comprise a plurality of EMGsensor signals arranged around the lower arm or wrist of a user and thestatistical model may be trained to predict musculoskeletal positioninformation for movements of the wrist and/or hand during performance ofa task such as grasping and twisting an object such as a doorknob.

In embodiments that provide predictions based on multiple types ofsensors (e.g., IMU sensors, EMG sensors, MMG sensors, SMG sensors), aseparate statistical model may be trained for each of the types ofsensors and the outputs of the sensor-type specific models may becombined to generate a musculoskeletal representation of the user'sbody. In other embodiments, the sensor signals obtained in act 202 fromtwo or more different types of sensors may be provided to a singlestatistical model that is trained based on the signals recorded from thedifferent types of sensors. In one illustrative implementation, an IMUsensor and a plurality of EMG sensors are arranged on a wearable deviceconfigured to be worn around the forearm of a user, and signals recordedby the IMU and EMG sensors are collectively provided as inputs to astatistical model, as discussed in more detail below.

In some embodiments, the sensor signals obtained in act 202 are recordedat multiple time points as a user performs one or multiple movements. Asa result, the recorded signal for each sensor may include data obtainedat each of multiple time points. Assuming that n sensors are arranged tosimultaneously measure the user's movement information duringperformance of a task, the recorded sensor signals for the user maycomprise a time series of K n-dimensional vectors {x_(k)|1≤k≤K} at timepoints t₁, t₂, . . . , t_(K) during performance of the movements.

In some embodiments, a user may be instructed to perform a task multipletimes and the sensor signals and position information may be recordedfor each of multiple repetitions of the task by the user. In someembodiments, the plurality of sensor signals may include signalsrecorded for multiple users, each of the multiple users performing thesame task one or more times. Each of the multiple users may beinstructed to perform the task and sensor signals and positioninformation corresponding to that user's movements may be recorded asthe user performs (once or repeatedly) the task he/she was instructed toperform. When sensor signals are collected by multiple users which arecombined to generate a statistical model, an assumption is thatdifferent users employ similar musculoskeletal positions to perform thesame movements. Collecting sensor signals and position information froma single user performing the same task repeatedly and/or from multipleusers performing the same task one or multiple times facilitates thecollection of sufficient training data to generate a statistical modelthat can accurately predict musculoskeletal position informationassociated with performance of the task.

In some embodiments, a user-independent statistical model may begenerated based on training data corresponding to the recorded signalsfrom multiple users, and as the system is used by a user, thestatistical model is trained based on recorded sensor data such that thestatistical model learns the user-dependent characteristics to refinethe prediction capabilities of the system for the particular user.

In some embodiments, the plurality of sensor signals may include signalsrecorded for a user (or each of multiple users) performing each ofmultiple tasks one or multiple times. For example, a user may beinstructed to perform each of multiple tasks (e.g., grasping an object,pushing an object, and pulling open a door) and signals corresponding tothe user's movements may be recorded as the user performs each of themultiple tasks he/she was instructed to perform. Collecting such datamay facilitate developing a statistical model for predictingmusculoskeletal position information associated with multiple differentactions that may be taken by the user. For example, training data thatincorporates musculoskeletal position information for multiple actionsmay facilitate generating a statistical model for predicting which ofmultiple possible movements a user may be performing.

As discussed above, the sensor data obtained at act 202 may be obtainedby recording sensor signals as each of one or multiple users performseach of one or more tasks one or more multiple times. As the user(s)perform the task(s), position information describing the spatialposition of different body segments during performance of the task(s)may be obtained in act 204. In some embodiments, the positioninformation is obtained using one or more external devices or systemsthat track the position of different points on the body duringperformance of a task. For example, a motion capture system, a laserscanner, a device to measure mutual magnetic induction, or some othersystem configured to capture position information may be used. As onenon-limiting example, a plurality of position sensors may be placed onsegments of the fingers of the right hand and a motion capture systemmay be used to determine the spatial location of each of the positionsensors as the user performs a task such as grasping an object. Thesensor data obtained at act 202 may be recorded simultaneously withrecording of the position information obtained in act 804. In thisexample, position information indicating the position of each fingersegment over time as the grasping motion is performed is obtained.

Next, process 200 proceeds to act 206, where the sensor signals obtainedin act 202 and/or the position information obtained in act 204 areoptionally processed. For example, the sensor signals or the positioninformation signals may be processed using amplification, filtering,rectification, or other types of signal processing.

Next, process 200 proceeds to act 208, where musculoskeletal positioncharacteristics are determined based on the position information (ascollected in act 204 or as processed in act 206). In some embodiments,rather than using recorded spatial (e.g., x, y, z) coordinatescorresponding to the position sensors as training data to train thestatistical model, a set of derived musculoskeletal positioncharacteristic values are determined based on the recorded positioninformation, and the derived values are used as training data fortraining the statistical model. For example, using information about theconstraints between connected pairs of rigid segments in the articulatedrigid body model, the position information may be used to determinejoint angles that define angles between each connected pair of rigidsegments at each of multiple time points during performance of a task.Accordingly, the position information obtained in act 204 may berepresented by a vector of n joint angles at each of a plurality of timepoints, where n is the number of joints or connections between segmentsin the articulated rigid body model.

Next, process 200 proceeds to act 210, where the time series informationobtained at acts 202 and 208 is combined to create training data usedfor training a statistical model at act 210. The obtained data may becombined in any suitable way. In some embodiments, each of the sensorsignals obtained at act 202 may be associated with a task or movementwithin a task corresponding to the musculoskeletal positioncharacteristics (e.g., joint angles) determined based on the positionalinformation recorded in act 204 as the user performed the task ormovement. In this way, the sensor signals may be associated withmusculoskeletal position characteristics (e.g., joint angles) and thestatistical model may be trained to predict that the musculoskeletalrepresentation will be characterized by particular musculoskeletalposition characteristics between different body segments when particularsensor signals are recorded during performance of a particular task.

In embodiments comprising sensors of different types (e.g., IMU sensorsand neuromuscular sensors) configured to simultaneously record differenttypes of movement information during performance of a task, the sensordata for the different types of sensors may be recorded using the sameor different sampling rates. When the sensor data is recorded atdifferent sampling rates, at least some of the sensor data may beresampled (e.g., up-sampled or down-sampled) such that all sensor dataprovided as input to the statistical model corresponds to time seriesdata at the same time resolution. Resampling at least some of the sensordata may be performed in any suitable way including, but not limited tousing interpolation for upsampling and using decimation fordownsampling.

In addition to or as an alternative to resampling at least some of thesensor data when recorded at different sampling rates, some embodimentsemploy a statistical model configured to accept multiple inputsasynchronously. For example, the statistical model may be configured tomodel the distribution of the “missing” values in the input data havinga lower sampling rate. Alternatively, the timing of training of thestatistical model occur asynchronously as input from multiple sensordata measurements becomes available as training data.

Next, process 200 proceeds to act 212, where a statistical model forpredicting musculoskeletal position information is trained using thetraining data generated at act 210. The statistical model being trainedmay take as input a sequence of data sets each of the data sets in thesequence comprising an n-dimensional vector of sensor data. Thestatistical model may provide output that indicates, for each of one ormore tasks or movements that may be performed by a user, the likelihoodthat the musculoskeletal representation of the user's body will becharacterized by a set of musculoskeletal position characteristics(e.g., a set of joint angles between segments in an articulatedmulti-segment body model). For example, the statistical model may takeas input a sequence of vectors {x_(k)|1≤k≤K} generated usingmeasurements obtained at time points t₁, t₂, . . . , t_(K), where theith component of vector x_(j) is a value measured by the ith sensor attime t_(j) and/or derived from the value measured by the ith sensor attime t_(j). In another non-limiting example, a derived value provided asinput to the statistical model may comprise features extracted from thedata from all or a subset of the sensors at and/or prior to time t_(j)(e.g., a covariance matrix, a power spectrum, a combination thereof, orany other suitable derived representation). Based on such input, thestatistical model may provide output indicating, a probability that amusculoskeletal representation of the user's body will be characterizedby a set of musculoskeletal position characteristics. As onenon-limiting example, the statistical model may be trained to predict aset of joint angles for segments in the fingers in the hand over time asa user grasps an object. In this example, the trained statistical modelmay output, a set of predicted joint angles for joints in the handcorresponding to the sensor input.

In some embodiments, the statistical model may be a neural network and,for example, may be a recurrent neural network. In some embodiments, therecurrent neural network may be a long short-term memory (LSTM) neuralnetwork. It should be appreciated, however, that the recurrent neuralnetwork is not limited to being an LSTM neural network and may have anyother suitable architecture. For example, in some embodiments, therecurrent neural network may be a fully recurrent neural network, arecursive neural network, a variational autoencoder, a Hopfield neuralnetwork, an associative memory neural network, an Elman neural network,a Jordan neural network, an echo state neural network, a second orderrecurrent neural network, and/or any other suitable type of recurrentneural network. In other embodiments, neural networks that are notrecurrent neural networks may be used. For example, deep neuralnetworks, convolutional neural networks, and/or feedforward neuralnetworks, may be used.

In some of the embodiments in which the statistical model is a neuralnetwork, the output layer of the neural network may provide a set ofoutput values corresponding to a respective set of possiblemusculoskeletal position characteristics (e.g., joint angles). In thisway, the neural network may operate as a non-linear regression modelconfigured to predict musculoskeletal position characteristics from rawor pre-processed sensor measurements. It should be appreciated that, insome embodiments, any other suitable non-linear regression model may beused instead of a neural network, as aspects of the technology describedherein are not limited in this respect.

In some embodiments, the neural network can be implemented based on avariety of topologies and/or architectures including deep neuralnetworks with fully connected (dense) layers, Long Short-Term Memory(LSTM) layers, convolutional layers, Temporal Convolutional Layers(TCL), or other suitable type of deep neural network topology and/orarchitecture. The neural network can have different types of outputlayers including output layers with logistic sigmoid activationfunctions, hyperbolic tangent activation functions, linear units,rectified linear units, or other suitable type of nonlinear unitLikewise, the neural network can be configured to represent theprobability distribution over n different classes via, for example, asoftmax function or include an output layer that provides aparameterized distribution e.g., mean and variance of a Gaussiandistribution.

It should be appreciated that aspects of the technology described hereinare not limited to using neural networks, as other types of statisticalmodels may be employed in some embodiments. For example, in someembodiments, the statistical model may comprise a hidden Markov model, aMarkov switching model with the switching allowing for toggling amongdifferent dynamic systems, dynamic Bayesian networks, and/or any othersuitable graphical model having a temporal component. Any suchstatistical model may be trained at act 212 using the sensor dataobtained at act 202.

As another example, in some embodiments, the statistical model may takeas input, features derived from the sensor data obtained at act 202. Insuch embodiments, the statistical model may be trained at act 212 usingfeatures extracted from the sensor data obtained at act 202. Thestatistical model may be a support vector machine, a Gaussian mixturemodel, a regression based classifier, a decision tree classifier, aBayesian classifier, and/or any other suitable classifier, as aspects ofthe technology described herein are not limited in this respect. Inputfeatures to be provided as training data to the statistical model may bederived from the sensor data obtained at act 202 in any suitable way.For example, the sensor data may be analyzed as time series data usingwavelet analysis techniques (e.g., continuous wavelet transform,discrete-time wavelet transform, etc.), Fourier-analytic techniques(e.g., short-time Fourier transform, Fourier transform, etc.), and/orany other suitable type of time-frequency analysis technique. As onenon-limiting example, the sensor data may be transformed using a wavelettransform and the resulting wavelet coefficients may be provided asinputs to the statistical model.

In some embodiments, at act 212, values for parameters of thestatistical model may be estimated from the training data generated atact 210. For example, when the statistical model is a neural network,parameters of the neural network (e.g., weights) may be estimated fromthe training data. In some embodiments, parameters of the statisticalmodel may be estimated using gradient descent, stochastic gradientdescent, and/or any other suitable iterative optimization technique. Inembodiments where the statistical model is a recurrent neural network(e.g., an LSTM), the statistical model may be trained using stochasticgradient descent and backpropagation through time. The training mayemploy a cross-entropy loss function and/or any other suitable lossfunction, as aspects of the technology described herein are not limitedin this respect.

Next, process 200 proceeds to act 214, where the trained statisticalmodel is stored (e.g., in datastore—not shown). The trained statisticalmodel may be stored using any suitable format, as aspects of thetechnology described herein are not limited in this respect. In thisway, the statistical model generated during execution of process 200 maybe used at a later time, for example, to predict musculoskeletalposition information (e.g., joint angles) for a given set of inputsensor data, as described below.

In some embodiments, sensor signals are recorded from a plurality ofsensors (e.g., arranged on or near the surface of a user's body) thatrecord activity associated with movements of the body during performanceof a task. The recorded signals may be optionally processed and providedas input to a statistical model trained using one or more techniquesdescribed above in connection with FIG. 2. In some embodiments thatcontinuously record autonomous signals, the continuously recordedsignals (raw or processed) may be continuously or periodically providedas input to the trained statistical model for prediction ofmusculoskeletal position information (e.g., joint angles) for the givenset of input sensor data. As discussed above, in some embodiments, thetrained statistical model is a user-independent model trained based onautonomous sensor and position information measurements from a pluralityof users. In other embodiments, the trained model is a user-dependentmodel trained on data recorded from the individual user from which thedata associated with the sensor signals is also acquired.

After the trained statistical model receives the sensor data as a set ofinput parameters, the predicted musculoskeletal position information isoutput from the trained statistical model. As discussed above, in someembodiments, the predicted musculoskeletal position information maycomprise a set of musculoskeletal position information values (e.g., aset of joint angles) for a multi-segment articulated rigid body modelrepresenting at least a portion of the user's body. In otherembodiments, the musculoskeletal position information may comprise a setof probabilities that the user is performing one or more movements froma set of possible movements.

In some embodiments, after musculoskeletal position information ispredicted, a computer-based musculoskeletal representation of the user'sbody is generated based, at least in part, on the musculoskeletalposition information output from the trained statistical model. Thecomputer-based musculoskeletal representation may be generated in anysuitable way. For example, a computer-based musculoskeletal model of thehuman body may include multiple rigid body segments, each of whichcorresponds to one or more skeletal structures in the body. For example,the upper arm may be represented by a first rigid body segment, thelower arm may be represented by a second rigid body segment the palm ofthe hand may be represented by a third rigid body segment, and each ofthe fingers on the hand may be represented by at least one rigid bodysegment (e.g., at least fourth-eighth rigid body segments). A set ofjoint angles between connected rigid body segments in themusculoskeletal model may define the orientation of each of theconnected rigid body segments relative to each other and a referenceframe, such as the torso of the body. As new sensor data is measured andprocessed by the statistical model to provide new predictions of themusculoskeletal position information (e.g., an updated set of jointangles), the computer-based musculoskeletal representation of the user'sbody may be updated based on the updated set of joint angles determinedbased on the output of the statistical model. In this way thecomputer-based musculoskeletal representation is dynamically updated inreal-time as sensor data is continuously recorded.

The computer-based musculoskeletal representation may be represented andstored in any suitable way, as embodiments of the technology describedherein are not limited with regard to the particular manner in which therepresentation is stored. Additionally, although referred to herein as a“musculoskeletal” representation, to reflect that muscle activity may beassociated with the representation in some embodiments, as discussed inmore detail below, it should be appreciated that some musculoskeletalrepresentations used in accordance with some embodiments may correspondto skeletal structures, muscular structures or a combination of skeletalstructures and muscular structures in the body.

In some embodiments, direct measurement of neuromuscular activity and/ormuscle activity underlying the user's movements may be combined with thegenerated musculoskeletal representation. Measurements from a pluralityof sensors placed at locations on a user's body may be used to create aunified representation of muscle recruitment by superimposing themeasurements onto a dynamically-posed skeleton. In some embodiments,muscle activity sensed by neuromuscular sensors and/or informationderived from the muscle activity (e.g., force information) may becombined with the computer-generated musculoskeletal representation inreal time.

FIG. 3A illustrates a wearable system with sixteen neuromuscular sensors310 (e.g., EMG sensors) arranged circumferentially around an elasticband 320 configured to be worn around a user's lower arm or wrist. Asshown, EMG sensors 310 are arranged circumferentially around elasticband 320. It should be appreciated that any suitable number ofneuromuscular sensors may be used. The number and arrangement ofneuromuscular sensors may depend on the particular application for whichthe wearable device is used. For example, a wearable armband orwristband can be used to generate control information for controlling anaugmented reality system, a robot, controlling a vehicle, scrollingthrough text, controlling a virtual avatar, or any other suitablecontrol task.

In some embodiments, sensors 310 include a set of neuromuscular sensors(e.g., EMG sensors). In other embodiments, sensors 310 can include a setof neuromuscular sensors and at least one “auxiliary” sensor configuredto continuously record auxiliary signals. Examples of auxiliary sensorsinclude, but are not limited to, other sensors such as IMU sensors,microphones, imaging sensors (e.g., a camera), radiation based sensorsfor use with a radiation-generation device (e.g., a laser-scanningdevice), or other types of sensors such as a heart-rate monitor. Asshown the sensors 310 may be coupled together using flexible electronics330 incorporated into the wearable device. FIG. 3B illustrates across-sectional view through one of the sensors 310 of the wearabledevice shown in FIG. 3A.

In some embodiments, the output of one or more of the sensing componentscan be optionally processed using hardware signal processing circuitry(e.g., to perform amplification, filtering, and/or rectification). Inother embodiments, at least some signal processing of the output of thesensing components can be performed in software. Thus, signal processingof signals sampled by the sensors can be performed in hardware,software, or by any suitable combination of hardware and software, asaspects of the technology described herein are not limited in thisrespect. A non-limiting example of a signal processing chain used toprocess recorded data from sensors 310 are discussed in more detailbelow in connection with FIGS. 4A and 4B

FIGS. 4A and 4B illustrate a schematic diagram with internal componentsof a wearable system with sixteen EMG sensors, in accordance with someembodiments of the technology described herein. As shown, the wearablesystem includes a wearable portion 410 (FIG. 4A) and a dongle portion420 (FIG. 4B) in communication with the wearable portion 410 (e.g., viaBluetooth or another suitable short range wireless communicationtechnology). As shown in FIG. 4A, the wearable portion 410 includes thesensors 310, examples of which are described in connection with FIGS. 4Aand 4B. The output of the sensors 310 is provided to analog front end430 configured to perform analog processing (e.g., noise reduction,filtering, etc.) on the recorded signals. The processed analog signalsare then provided to analog-to-digital converter 432, which converts theanalog signals to digital signals that can be processed by one or morecomputer processors. An example of a computer processor that may be usedin accordance with some embodiments is microcontroller (MCU) 434illustrated in FIG. 4A. As shown, MCU 434 may also include inputs fromother sensors (e.g., IMU sensor 440), and power and battery module 442.The output of the processing performed by MCU may be provided to antenna450 for transmission to dongle portion 420 shown in FIG. 4B.

Dongle portion 420 includes antenna 452 configured to communicate withantenna 450 included as part of wearable portion 410. Communicationbetween antenna 450 and 452 may occur using any suitable wirelesstechnology and protocol, non-limiting examples of which includeradiofrequency signaling and Bluetooth. As shown, the signals receivedby antenna 452 of dongle portion 420 may be provided to a host computerfor further processing, display, and/or for effecting control of aparticular physical or virtual object or objects.

The above-described embodiments can be implemented in any of numerousways. For example, the embodiments may be implemented using hardware,software or a combination thereof. When implemented in software, thesoftware code can be executed on any suitable processor or collection ofprocessors, whether provided in a single computer or distributed amongmultiple computers. It should be appreciated that any component orcollection of components that perform the functions described above canbe generically considered as one or more controllers that control theabove-discussed functions. The one or more controllers can beimplemented in numerous ways, such as with dedicated hardware or withone or more processors programmed using microcode or software to performthe functions recited above.

In this respect, it should be appreciated that one implementation of theembodiments of the present invention comprises at least onenon-transitory computer-readable storage medium (e.g., a computermemory, a portable memory, a compact disk, etc.) encoded with a computerprogram (i.e., a plurality of instructions), which, when executed on aprocessor, performs the above-discussed functions of the embodiments ofthe present invention. The computer-readable storage medium can betransportable such that the program stored thereon can be loaded ontoany computer resource to implement the aspects of the present inventiondiscussed herein. In addition, it should be appreciated that thereference to a computer program which, when executed, performs theabove-discussed functions, is not limited to an application programrunning on a host computer. Rather, the term computer program is usedherein in a generic sense to reference any type of computer code (e.g.,software or microcode) that can be employed to program a processor toimplement the above-discussed aspects of the present invention.

Various aspects of the present invention may be used alone, incombination, or in a variety of arrangements not specifically discussedin the embodiments described in the foregoing and are therefore notlimited in their application to the details and arrangement ofcomponents set forth in the foregoing description or illustrated in thedrawings. For example, aspects described in one embodiment may becombined in any manner with aspects described in other embodiments.

Also, embodiments of the invention may be implemented as one or moremethods, of which an example has been provided. The acts performed aspart of the method(s) may be ordered in any suitable way. Accordingly,embodiments may be constructed in which acts are performed in an orderdifferent than illustrated, which may include performing some actssimultaneously, even though shown as sequential acts in illustrativeembodiments.

Use of ordinal terms such as “first,” “second,” “third,” etc., in theclaims to modify a claim element does not by itself connote anypriority, precedence, or order of one claim element over another or thetemporal order in which acts of a method are performed. Such terms areused merely as labels to distinguish one claim element having a certainname from another element having a same name (but for use of the ordinalterm).

The phraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limiting. The use of“including,” “comprising,” “having,” “containing”, “involving”, andvariations thereof, is meant to encompass the items listed thereafterand additional items.

Having described several embodiments of the invention in detail, variousmodifications and improvements will readily occur to those skilled inthe art. Such modifications and improvements are intended to be withinthe spirit and scope of the invention. Accordingly, the foregoingdescription is by way of example only, and is not intended as limiting.The invention is limited only as defined by the following claims and theequivalents thereto.

What is claimed is:
 1. A computerized system for anonymizingneuromuscular signals used to generate a musculoskeletal representation,the system comprising: a plurality of neuromuscular sensors configuredto continuously record a plurality neuromuscular signals from a user,wherein the plurality of neuromuscular sensors are arranged on one ormore wearable devices; and at least one computer processor programmedto: provide as input to a statistical model, the plurality ofneuromuscular signals and/or information based on the plurality ofneuromuscular signals, wherein the statistical model is trained toremove a first personal characteristic of the user from the plurality ofneuromuscular signals and/or information based on the plurality ofneuromuscular signals; and generate the musculoskeletal representationbased, at least in part, on an output of the trained statistical model,wherein the musculoskeletal representation is an anonymizedmusculoskeletal representation from which the first personalcharacteristic of the user has been removed.
 2. The computerized systemof claim 1, wherein the at least one computer processor is furtherprogrammed to process the plurality of neuromuscular signals and/or theinformation based on the plurality of neuromuscular signals to remove asecond personal characteristic of the user.
 3. The computerized systemof claim 2, wherein the second personal characteristic of the user isremoved from the plurality of neuromuscular signals and/or theinformation based on the plurality of neuromuscular signals prior toproviding the plurality of neuromuscular signals and/or the informationbased on the plurality of neuromuscular signals as input to thestatistical model.
 4. The computerized system of claim 1, wherein thefirst personal characteristic of the user relates to at least one ofmuscle fatigue, muscle activity level, muscle frequency content, andmuscle spiking pattern.
 5. The computerized system of claim 1, whereinthe first personal characteristic of the user relates to a body massindex or body fat percentage of the user.
 6. The computerized system ofclaim 2, wherein the at least one computer processor is furtherprogrammed to: store the plurality of neuromuscular signals and/or theinformation based on the plurality of neuromuscular signals in a storagedevice, wherein the second personal characteristic of the user isremoved from the plurality of neuromuscular signals and/or theinformation based on the plurality of neuromuscular signals prior tostorage of the plurality of neuromuscular signals and/or the informationbased on the plurality of neuromuscular signals in the storage device.7. The computerized system of claim 1, wherein the first personalcharacteristic of the user comprises at least one movement patternassociated with a neurological disorder or a non-pathologicalidiosyncrasy.
 8. The computerized system of claim 2, wherein the secondpersonal characteristic of the user comprises at least one movementpattern associated with a neurological disorder or a non-pathologicalidiosyncrasy, and the at least one computer processor is furtherprogrammed to process the plurality of neuromuscular signals and/or theinformation based on the plurality of neuromuscular signals to: identifythe at least one movement pattern in the plurality of neuromuscularsignals and/or the information based on the plurality of neuromuscularsignals; and remove the identified at least one movement pattern fromthe plurality of neuromuscular signals and/or the information based onthe plurality of neuromuscular signals.
 9. The computerized system ofclaim 1, wherein the statistical model is trained to remove the firstpersonal characteristic of the user using an adversarial trainingapproach.
 10. The computerized system of claim 9, wherein theadversarial training approach comprises using an adversarial networkthat is configured to concurrently remove the first personalcharacteristic of the user and predict estimates of position and forceassociated with at least one segment of the musculoskeletalrepresentation.
 11. The computerized system of claim 1, wherein the atleast one computer processor is further programmed to process the outputof the statistical model to remove a second personal characteristic ofthe user.
 12. The computerized system of claim 11, wherein processingthe output of the statistical model comprises averaging the output ofthe statistical model over time to generate a smoothed output of thestatistical model.
 13. The computerized system of claim 11, whereinprocessing the output of the statistical model comprises mapping theoutput of the statistical model to at least one state of a plurality ofdiscrete states, wherein each state of the plurality of discrete statesrepresents a generic movement pattern.
 14. The computerized system ofclaim 1, wherein the at least one computer processor is furtherprogrammed to: render a visual representation based on themusculoskeletal representation, wherein a second personal characteristicof the user is removed during rendering of the visual representation.15. A computerized system for anonymizing neuromuscular signals used togenerate a musculoskeletal representation, the system comprising: aplurality of neuromuscular sensors configured to continuously record aplurality of neuromuscular signals from a user, wherein the plurality ofneuromuscular sensors are arranged on one or more wearable devices; andat least one computer processor programmed to: provide as input to astatistical model, the plurality of neuromuscular signals and/orinformation based on the plurality of neuromuscular signals; generate,the musculoskeletal representation based, at least in part, on an outputof the trained statistical model; and render a visual representationbased on the musculoskeletal representation, wherein at least onepersonal characteristic of the user is removed during rendering of thevisual representation.
 16. The computerized system of claim 15, whereinthe at least one personal characteristic of the user is removed byaltering a dimension of one or more fingers of the hand during renderingof the visual representation of the hand.
 17. The computerized system ofclaim 15, wherein the at least one personal characteristic of the useris removed by mapping the visual representation to at least one state ofa plurality of discrete states, wherein each state of the plurality ofdiscrete states represents a generic visual representation.
 18. Thecomputerized system of claim 15, wherein the at least one computerprocessor is further programmed to: receive user input indicatingwhether to render an anonymized visual representation.
 19. Thecomputerized system of claim 18, wherein the at least one computerprocessor is further programmed to: in response to user input indicatingthat the anonymized visual representation is to be rendered, render thevisual representation with the at least one personal characteristicremoved from the visual representation.
 20. A method for anonymizingneuromuscular signals used to generate a musculoskeletal representation,the method comprising: recording, using a plurality of neuromuscularsensors arranged on one or more wearable devices, a plurality ofneuromuscular signals from a user; providing as input to a statisticalmodel, the plurality of neuromuscular signals and/or information basedon the plurality of neuromuscular signals, wherein the statistical modelis trained to remove at least one personal characteristic of the userfrom the plurality of neuromuscular signals and/or information based onthe plurality of neuromuscular signals; and generating, themusculoskeletal representation based, at least in part, on an output ofthe trained statistical model, wherein the musculoskeletalrepresentation is an anonymized musculoskeletal representation fromwhich the at least one personal characteristic of the user has beenremoved.
 21. The method of claim 20, wherein the statistical model istrained to remove a first personal characteristic of the user using anadversarial training approach.
 22. The method of claim 21, wherein theadversarial training approach comprises using an adversarial networkthat is configured to concurrently remove the at least one personalcharacteristic of the user and predict estimates of position and forceassociated with at least one segment of the musculoskeletalrepresentation.
 23. A method for anonymizing neuromuscular signals usedto generate a musculoskeletal representation, the method comprising:providing as input to a trained statistical model, a plurality ofneuromuscular signals recorded from a user by a plurality ofneuromuscular sensors and/or information based on the plurality ofneuromuscular signals; generating the musculoskeletal representationbased, at least in part, on an output of the trained statistical model;and rendering a visual representation based on the musculoskeletalrepresentation, wherein at least one personal characteristic of the useris removed during rendering of the visual representation.
 24. The methodof claim 23, wherein the at least one personal characteristic of theuser is removed by altering a dimension of one or more fingers of thehand during rendering of the visual representation of the hand.
 25. Themethod of claim 23, wherein the at least one personal characteristic ofthe user is removed by mapping the visual representation to at least onestate of a plurality of discrete states, wherein each state of theplurality of discrete states represents a generic visual representation.26. The method of claim 23, wherein the method further comprises:receiving user input indicating whether to render an anonymized visualrepresentation.
 27. The method of claim 26, wherein the method furthercomprises: in response to user input indicating that the anonymizedvisual representation is to be rendered, rendering the visualrepresentation with the at least one personal characteristic removedfrom the visual representation.